package com.gulimall.product.service;

import com.gulimall.common.core.domain.Result;
import com.gulimall.common.vo.product.Catalogs2Vo;
import com.gulimall.product.domain.entity.Category;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 商品三级分类 服务类
 * </p>
 *
 * @author 坤哥
 * @since 2025-08-25
 */
public interface ICategoryService extends IService<Category> {

    /**
     * 查询所有分类及子分类
     */
    List<Category> getProductCategory();

    /**
     * 批量或单个删除商品
     */
    Result deleteProduct(List<Long> catIds);

    /**
     * 查询一级分类
     */
    List<Category> getLevel1Categorys();

    /**
     * 查询三级分类并封装成Map返回
     * 使用SpringCache注解方式简化缓存设置
     */
    Map<String, List<Catalogs2Vo>> getCatalogJson() throws InterruptedException;
}
